1. Technical Field of the Invention
The present invention relates generally to the field of wireless telecommunications; more particularly, the present invention relates to a method and system for extending and modifying the functionality of a platform for a mobile terminal for a wireless telecommunications system, without modifying the base functionality.
2. Description of Related Art
A platform that provides a high degree of configurability is an attractive option for many manufacturers of end user mobile products and other platform customers. Configurability is especially important with respect to high level functionality in that some customers desire such functionality, and often prefer to develop such functionality in-house, while others have no interest in including such functionality in their products.
A mobile terminal platform that provides a high degree of configurability, however, introduces a number of difficulties for the provider of the platform. For example, the provider must support any high-level functionality that is added to the platform and support the numerous configurations that different customers might require, such as by providing customers with platform documentation that is specific for their particular configuration. Also, since not all configurations of a platform can be expected to operate properly, it becomes necessary for the platform provider to test each specific configuration to ensure that the added functionality works in a manner desired by the customer. In addition, in many cases, the added functionality will be dependent on and have logical dependencies towards other functionality that is provided in the platform, such that if the latter functionality is removed, the added functionality may no longer operate properly.
Furthermore, it is frequently the case that a platform provider wishes to maintain details of its platform proprietary. To achieve this, the platform provider should not expose the code base directly to a customer or to any other party. Instead, it is preferable that a customer views the platform simply as a “black box” having a defined interface and defined behavior.
A platform having a high degree of configurability, however, can present difficulties with respect to maintaining details of the platform proprietary. For example, it is a common practice for a platform provider to contract a third party to develop high level add-ons to a platform. The platform provider might develop applications for the platform that are delivered with the platform. A typical example where this might occur is with respect to product-specific functionality such as functionality that controls the look and feel of the user interface, which is often implemented as a high-level graphics library. Since the look and feel is brand-specific, this functionality will differ among products and brands.
If a third-party is contracted to develop high-level add-ons, however, that party will require access to the platform code base in order to develop the functionality, forcing the provider to reveal proprietary information to the third party.
In addition, after a platform has been configured and delivered to a customer, the functionality of the platform will have been tested, stabilized and fixed. The customer, however, may have additional requirements with respect to modifying, extending and configuring the platform that are precluded by the design of the delivered platform. For example, a customer might wish to modify various parts of the provided functionality to tailor the platform to particular needs or to add more powerful functionality than is included in a delivered platform, i.e., functionality that the platform provider considers to be outside the scope of the platform domain. In addition, a customer might want to configure the platform functionality on a more detailed level than is offered by the platform provider in the basic platform assembly configuration, or to perform some form of last minute configuration to add or remove functionality to the platform based on what an end user is prepared to pay.
In general, current platforms for mobile terminals and other products do not provide an effective procedure by which the functionality of the platform can be extended, removed, or otherwise changed.